package Modele;

public class Convoi extends Ordre {
	private Region regionConvoye;
	private Region regionConvoiDest;

	public Convoi(Puissance commanditaire, String typeU, Region regOr,
			Region regionConvoye, Region regionConvoyeDest) {
		super(commanditaire, typeU, regOr, null);
		this.regionConvoye = regionConvoye;
		this.regionConvoiDest = regionConvoyeDest;
	}

	public Region getRegionConvoye() {
		return regionConvoye;
	}

	public Region getRegionConvoiDest() {
		return regionConvoiDest;
	}

	@Override
	public String getTypeOrdre() {
		return "Convoi";
	}

	public String toString() {
		return "Ordre de " + getTypeOrdre() + " de la puissance "
				+ super.getCommanditaire() + " avec une unite de type "
				+ super.getTypeUnite() + "Origine : " + super.getRegOrigine()
				+ " Region convoyee : " + this.regionConvoye + " vers "
				+ this.regionConvoiDest;
	}

	@Override
	public boolean verifValidite() {
		//AH F MED C ESP - MAR
		//Si c'est bien une flotte et que la region origine est bien une mer
		if(super.getTypeUnite().equalsIgnoreCase("F") && !super.getRegOrigine().isTerrestre()){
			//Si la region qui est convoyée et la destination sont bien des terres
			if(this.regionConvoye.isTerrestre() && this.regionConvoiDest.isTerrestre()){
				return true;
			}
		}
		return false;
	}

}
